package com.iias.common.util.date;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * 日期工具类
 */
public class DateUtils {

    public final static String FORMAT6 = "yyyyMM";
    public final static String FORMAT8 = "yyyyMMdd";

    public final static String FORMAT10 = "yyyyMMddhh"; // 年月日
    public final static String FORMAT10_ = "yyyyMMddHH"; // 年月日
    //12小时制
    public final static String FORMAT12 = "yyyyMMddhhmm";
    public final static String FORMAT14 = "yyyyMMddhhmmss";
    //24小时制
    public final static String FORMAT12_ = "yyyyMMddHHmm";
    public final static String FORMAT14_ = "yyyyMMddHHmmss";
    public final static String FORMAT17_ = "yyyyMMddHHmmssSSS";

    public final static String FORMAT_8_CN = "yyyy年MM月dd日"; // 年月日
    public final static String FORMAT_14_CN = "yyyy年MM月dd日HH时mm分ss秒"; // 年月日

    public final static String FORMAT_8 = "yyyy-MM-dd"; // 年月日
    public final static String FORMAT_14 = "yyyy-MM-dd HH:mm:ss"; // 年月日


    /**
     * 字符串转换时间
     * @param date
     * @param format
     * @return
     */
    public static Date format(String date,String  format){
        if (date == null )return null;
        try {
            return new SimpleDateFormat(format).parse(date);
        } catch (ParseException e) {
            throw new RuntimeException(e);
        }
    }

    /**
     * 时间转换指定格式字符串
     * @param date
     * @param format
     * @return
     */
    public static String format(Date date,String format){
        if (date == null)return null;
        SimpleDateFormat formatter = new SimpleDateFormat(format);
        return formatter.format(date);
    }


    /**
     * 将时间字符串 转换成另外的格式
     * @param date 时间字符串
     * @param f1  时间字符串的格式
     * @param f2  要转换的时间字符串的格式
     * @return
     */
    public static String ftf(String date,String f1,String f2) {
        return format(format(date,f1),f2);
    }


}
